package cn.b.sky.mes.andon.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.b.sky.mes.andon.model.AndonEvent;
import cn.b.sky.mes.andon.model.condition.AndonEventCondition;

/**
 * <strong>Title : AndonEventDao.java<br></strong>
 * <strong>Package : cn.b.sky.mes.andon.dao<br></strong>
 * <strong>Description : </strong>Andon事件数据访问接口<br> 
 * <strong>Create on : 2016年10月17日 下午1:39:33<br></strong>
 * <p>
 * @author ShiYing.Ke<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人|修改日期|修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface AndonEventDao {

	/**
	 * <strong>Title : selectAndonEventListByCondition<br></strong>
	 * <strong>Description : </strong>条件查询，返回一页数据<br> 
	 * <strong>Create on : 2016年10月19日 下午2:30:20<br></strong>
	 * <p>
	 * @param condition
	 * @return
	 * List<AndonEvent>
	 * @throws 
	 * @author ShiYing.Ke<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	List<AndonEvent> selectAndonEventListByCondition(
			AndonEventCondition condition);

	/**
	 * <strong>Title : selectAndonEventTotalCount<br></strong>
	 * <strong>Description : </strong>条件查询符合的结果总数<br> 
	 * <strong>Create on : 2016年10月19日 下午2:30:36<br></strong>
	 * <p>
	 * @param condition
	 * @return
	 * int
	 * @throws 
	 * @author ShiYing.Ke<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	int selectAndonEventTotalCount(AndonEventCondition condition);
	
	/**
	 * <strong>Title : selectAndonEvent<br></strong>
	 * <strong>Description : </strong>单条查询<br> 
	 * <strong>Create on : 2016年10月19日 下午2:30:54<br></strong>
	 * <p>
	 * @param andonEvent
	 * @return
	 * AndonEvent
	 * @throws 
	 * @author ShiYing.Ke<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	AndonEvent selectAndonEvent(AndonEvent andonEvent);
	
	/**
	 * <strong>Title : insertAndonEvent<br></strong>
	 * <strong>Description : </strong>新增<br> 
	 * <strong>Create on : 2016年10月19日 下午2:31:04<br></strong>
	 * <p>
	 * @param andonEvent
	 * @return
	 * int
	 * @throws 
	 * @author ShiYing.Ke<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	int insertAndonEvent(AndonEvent andonEvent);
	
	/**
	 * <strong>Title : updateAndonEvent<br></strong>
	 * <strong>Description : </strong>修改<br> 
	 * <strong>Create on : 2016年10月19日 下午2:31:12<br></strong>
	 * <p>
	 * @param andonEvent
	 * @return
	 * int
	 * @throws 
	 * @author ShiYing.Ke<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	int updateAndonEvent(AndonEvent andonEvent);
	
	/**
	 * <strong>Title : deleteAndonEvent<br></strong>
	 * <strong>Description : </strong>删除<br> 
	 * <strong>Create on : 2016年10月19日 下午2:31:24<br></strong>
	 * <p>
	 * @param siteCode
	 * @param eventCode
	 * @return
	 * int
	 * @throws 
	 * @author ShiYing.Ke<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	int deleteAndonEvent(@Param("siteCode")String siteCode, @Param("eventCode")String eventCode);

}
